/****************************** Module Header ******************************\
 * Module Name:  IPaggerG.cs
 * Module Version:  1.0.0 (2011-9-22)
 * Copyright (c) AnyEB.Com (14507247@qq.com)
 * 
 * This interface is used to rule the generics pagger class. It define the 
 * common method for the pagger class.
 * 
 * This source is subject to the GPL License.
 * See http://www.gnu.org/licenses/gpl.html.
 * All other rights reserved.
 * 
 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED 
 * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
\***************************************************************************/

using System;
using System.Collections.Generic;

namespace UCF.Core
{
    /// <summary>
    /// 泛型分页类接口
    /// <para>提供分页对象的属性和分页方法</para>
    /// </summary>
    public interface IPaggerGeneric<T> : IPagger
    {
        /// <summary>
        /// 当前页数据集
        /// </summary>
        IList<T> ListSet { get; }

        /// <summary>
        /// 绑定数据源
        /// </summary>
        /// <param name="List"></param>
        void BindDataSource(IEnumerable<T> List);

        /// <summary>
        /// 获取当前记录对象
        /// </summary>
        /// <returns></returns>
        T Fetch();

    }
}
